<?php
if ( ! defined('BASEPATH')) exit('el acceso directo a esta página no esta permitido.');

class previos  extends ci_controller{
    
    function __construct(){
        parent::__construct();
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->library('form_validation','security','calendar');
        $this->load->helper('pdf_helper');
        $this->load->model('encuestas_model','est');
        $this->load->model('clientes_model','clientes');
        $this->load->model('auxiliar_model','aux');
        $this->load->model('previos_model','prev');
        $this->load->model('dispositivos_model','disp');
        $this->load->model('empresas_model','empresas');
    }
    
    function agregartipoprevio(){
        $session_data = $this->session->userdata('logged_in');
        $nombre = strtoupper($this->input->post('nombretipoprevio'));
        $empresa = $session_data['empresa'];
        $estudio = $this->empresas->getestudioprevio($empresa);
        $data=array('estudio'=>$estudio,'nombre'=>$nombre,'activo'=>2);
        $idencuesta = $this->prev->inserttipoprevio($data);
        echo json_encode(array('idencuesta'=>$idencuesta));
    }
    
    
    function viewpdf($idaplicacion)
    {
        $data['datos']= $this->est->getreporterespuestas($idaplicacion);
        $data['url']= $this->geturl($idaplicacion);
        $data['previo']=$this->prev->getinfoprevio($idaplicacion);
        $this->load->view('pdfprevio',$data);
    }
    
      function agregarprevio(){
          $aplicacion = array(
              'iddispositivo' => $this->input->post('asignado'),
              'idencuesta' => $this->input->post('tipoprevio'),
              'clienteaplicacion' => $this->input->post('cliente'),
              'fechaestimada' => $this->input->post('fechaappprevio'),
              'tipovalidacion' => 0,
              'estado' => 2
          );
          $aplicacion = $this->security->xss_clean($aplicacion);
          $previo = array(
              'referencia' => strtoupper($this->input->post('referencia')),
              'pedimento' => strtoupper($this->input->post('pedimento')),
              'contenedor' => strtoupper($this->input->post('contenedor')),
              'tipocontenedor' => $this->input->post('tipocontenedor'),
              'bl' => strtoupper($this->input->post('bl')),
              'mercancia' => strtoupper($this->input->post('mercancia')),
              'sellosorigen' => strtoupper($this->input->post('sellosorigen')),
              'operadora' => strtoupper($this->input->post('operadora')),
              'buque' => strtoupper($this->input->post('buque')),
              'facturas' => $this->input->post('facturas'),
              'proveedor' => strtoupper($this->input->post('proveedor')),
              'pais' => strtoupper($this->input->post('pais')),
              'cajas' => $this->input->post('cajas')
          );
          $previo = $this->security->xss_clean($previo);
          
          $data['aplicacion'] = $aplicacion;
          $data['previo'] = $previo;
          echo $this->prev->agregar($data);
      }
      
      function index(){
        if($this->session->userdata('logged_in'))
        {
            //checamos los datos de acceso de la empresa a dropbox
            $session_data = $this->session->userdata('logged_in');

            if($this->session->userdata('oauth_token'))

                { 
                    $idempresa = $session_data['empresa'];
                    $aclientes = $this->clientes->get_clientes($idempresa);
                    $clientes = $aclientes['datos'];
                    $paises = $this->aux->devolver_paises();
                    $tipoprevios = $this->prev->get_tiposprevios($idempresa);
                    $responsables = $this->disp->getresponsable($idempresa);
                    $datos = $this->listaprevios($idempresa);
                    $data = array(
                        'datos' => $datos,
                        'menu' => menu_ul('previos',$session_data['tipousuario']),
                        'title' => "POSMobile - Previos",
                        'clientes' => $clientes,
                        'paises' =>$paises,
                        'tipoprevios' =>$tipoprevios,
                        'responsables' => $responsables
                    );
                    $this->load->view('partials/header',$data);
                    $this->load->view('pages/previos_view',$data);
                    $this->load->view('partials/modal_previos',$data);
                    $this->load->view('partials/modal_tipoprevio',$data);
                    $this->load->view('partials/footer');
                }
            
        } else redirect('login');
    }
    
    function geturl($idprevio){
        $folder = $this->prev->getfolderprevio($idprevio);
        if(count($folder)>0)
        {
            $folder = $folder[0]['path'];
            $session_data = $this->session->userdata('logged_in');
            $params['key'] = '4picv6z5kkamnt5';
            $params['secret'] = 'dmlgqq0l0zegbs3';
            $params['access'] = array('oauth_token'=>$this->session->userdata['oauth_token'],'oauth_token_secret'=>$this->session->userdata['oauth_token_secret']);
            $this->load->library('dropbox',$params);
            $params=array('list'=>'true');
            $result = $this->dropbox->shares($folder);
            return utf8_encode($result->url);
        }else
        {
            return "";
        }
    }
    
    
    function getpictures(){
        $idprevio = $this->input->post('id');
        $folder = $this->prev->getfolderprevio($idprevio);
        if(count($folder)>0)
        {
            $folder = $folder[0]['path'];
            $session_data = $this->session->userdata('logged_in');
            $params['key'] = '4picv6z5kkamnt5';
            $params['secret'] = 'dmlgqq0l0zegbs3';
            $params['access'] = array('oauth_token'=>$this->session->userdata['oauth_token'],'oauth_token_secret'=>$this->session->userdata['oauth_token_secret']);
            $this->load->library('dropbox',$params);
            $params=array('list'=>'true');
            $result = $this->dropbox->shares($folder);
            echo json_encode($result);
        }else
        {
            echo "{'error':'el cliente no tiene folder'}";
        }
        
        
    }
    
    function listaprevios($idempresa){
        $session_data = $this->session->userdata('logged_in');
        $idempresa = $session_data['empresa'];
        return $this->prev->getprevios($idempresa);
        
    }


    
    public function access_dropbox()
    {
        $params['key'] = '4picv6z5kkamnt5';
        $params['secret'] = 'dmlgqq0l0zegbs3';
        $this->load->library('dropbox', $params);
        $oauth = $this->dropbox->get_access_token($this->session->userdata('token_secret'));
        if(!isset($oauth['oauth_token'])){
            redirect('home');
        }
        
        $this->session->set_userdata('oauth_token', $oauth['oauth_token']);
        $this->session->set_userdata('oauth_token_secret', $oauth['oauth_token_secret']);
        
        //guardamos en la bd los tokens de dropbox
        $params['access'] = array('oauth_token'=>urlencode($this->session->userdata('oauth_token')),
                  'oauth_token_secret'=>urlencode($this->session->userdata('oauth_token_secret')));
        $this->empresas->settokens($params['access']);
        redirect(base_url()."home");
    }
    

    function getpreviosjson($idempresa){
        $session_data = $this->session->userdata('logged_in');
        $idempresa = $session_data['empresa'];
        $previos = $this->prev->getprevios($idempresa);
        $cadjson = "{
                        \"secho\": 3,
                        \"itotalrecords\": ".count($previos). ", 
                        \"itotaldisplayrecords\": ".count($previos) .",
                        \"aadata\": [ ";
        $i=0;        
        foreach($previos as $previo){
           $cadjson .= " {
                \"dt_rowid\": \"". $previo['idprevio'] ."\",
                \"".$i++."\": \"".$previo['estado']."\",
                \"".$i++."\": \"".$previo['referencia']."\",
                \"".$i++."\": \"".$previo['responsable']."\",
                \"".$i++."\": \"".$previo['tipo de previo']."\",
                \"".$i++."\": \"".$previo['fecha estimada']."\",
                \"".$i++."\": \"".$previo['cliente']."\"    
            },";
           $i=0;
        }
        $cadjson = substr($cadjson, 0, -1);
        $cadjson .= "]}";
        echo $cadjson;
    }
   
}

/* end of file encuestas.php */
/* location: ./application/controllers/encuestas.php */